﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;

namespace AlgorithmTest
{
    // T_[四个数字排序]_[算法名]
    public class T_0143_TrailingZeroes : IAlgorithm
    {
        // 阶乘后的零

        // 给定一个整数 n ，返回 n! 结果中尾随零的数量。
        // 提示 n! = n* (n - 1) * (n - 2) * ... * 3 * 2 * 1

        // 提示：
        //  0 <= n <= 10^4

        // 进阶：你可以设计并实现对数时间复杂度的算法来解决此问题吗？

        public void Test()
        {
            // 算法参数定义

            // 算法执行与打印
            //Console.WriteLine(TrailingZeroes());
        }

        // 算法
        public int TrailingZeroes(int n)
        {
            int count = 0;
            while (n >= 5)
            {
                count += n / 5;
                n /= 5;
            }
            return count;
        }
    }
}
